package tengxun.com.sunny.t1;

import java.util.*;

public class Main {

    static final int MAXN = 1000005;
    static boolean[] isPrime = new boolean[MAXN];
    static TreeSet<Integer> set = new TreeSet<>();
    static HashMap<Integer, Integer> map = new HashMap<>();

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        pre(n);
        for(int i=2;i<=n;i++){
            sovle(i);
        }
        long res = 1;

    }

    public static void sovle(int v){
        for(int i: set){
            if(i > v)
                break;
            int cnt = 0;
            while (v%i == 0){
                v /= i;
                cnt++;
            }
            if(map.containsKey(i) && cnt>map.get(i)){
                map.put(i, cnt);
            }else{
                map.put(i,cnt);
            }
        }
    }

    public static void pre(int n){
        isPrime[0] = isPrime[1] = false;
        isPrime[2] = true;
        set.add(2);
        for(int i=2;i<=n;i++){
            if(isPrime[i]){
                for(int k=2;k*i<=n;k++){
                    isPrime[k*i] = true;
                    set.add(k*i);
                }
            }
        }
    }


//    public static void main(String[] args) {
//
//        Scanner scanner = new Scanner(System.in);
//        int n = scanner.nextInt();
//        long res = 1;
//        for(long i=2;i<=n;i++){
//            res = get_lcm(res, i);
//        }
//        long l = res;
//        long r = 1;
//        long m;
//        for(m = n+1; m<=Integer.MAX_VALUE; m++){
////            System.out.println(l+" "+m);
//            l = get_lcm(l, m);
//            r = get_lcm(r,m);
//            if(l == r){
//                break;
//            }
//        }
//        System.out.println(m);
//
//    }
//
//    public static long get_gcd(long n1, long n2) {
//        long gcd = 0;
//        if (n1 < n2) {// 交换n1、n2的值
//            n1 = n1 + n2;
//            n2 = n1 - n2;
//            n1 = n1 - n2;
//        }
//
//        if (n1 % n2 == 0) {
//            gcd = n2;
//        }
//
//        while (n1 % n2 > 0) {
//            n1 = n1 % n2;
//
//            n1 = n1 + n2;
//            n2 = n1 - n2;
//            n1 = n1 - n2;
//
//            if (n1 % n2 == 0) {
//                gcd = n2;
//            }
//        }
//        return gcd;
//
//    }
//
//    public static long get_lcm(long n1, long n2) {
//        return n1 * n2 / get_gcd(n1, n2);
//    }

}
